[INFO] cloning repository https://github.com/Lol3rrr/waswolf
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lol3rrr/waswolf" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLol3rrr%2Fwaswolf", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLol3rrr%2Fwaswolf'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9d71a0004e95641ce89d50da578ed212fe59fec9
[INFO] fixing Lol3rrr/waswolf against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLol3rrr%2Fwaswolf" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Lol3rrr/waswolf
[INFO] finished tweaking git repo https://github.com/Lol3rrr/waswolf
[INFO] tweaked toml for git repo https://github.com/Lol3rrr/waswolf written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Lol3rrr/waswolf on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Lol3rrr/waswolf already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `serenity` dependency)
[INFO] [stderr] warning: `werewolf-bot` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8e93e72223c99899e361f6a91396e4ac8385b2e0da62f13480223f7fece77053
[INFO] running `Command { std: "docker" "start" "8e93e72223c99899e361f6a91396e4ac8385b2e0da62f13480223f7fece77053", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8e93e72223c99899e361f6a91396e4ac8385b2e0da62f13480223f7fece77053" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8e93e72223c99899e361f6a91396e4ac8385b2e0da62f13480223f7fece77053", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8e93e72223c99899e361f6a91396e4ac8385b2e0da62f13480223f7fece77053" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   tokio v1.12.0 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `serenity` dependency)
[INFO] [stderr] warning: `werewolf-bot` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.98
[INFO] [stderr]    Compiling syn v1.0.74
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]     Checking instant v0.1.10
[INFO] [stderr]    Compiling cc v1.0.69
[INFO] [stderr]    Compiling futures-core v0.3.16
[INFO] [stderr]    Compiling tokio v1.12.0
[INFO] [stderr]     Checking lock_api v0.4.4
[INFO] [stderr]     Checking tracing-core v0.1.18
[INFO] [stderr]    Compiling futures-macro v0.3.16
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]     Checking futures-sink v0.3.16
[INFO] [stderr]    Compiling futures-task v0.3.16
[INFO] [stderr]    Compiling futures-channel v0.3.16
[INFO] [stderr]    Compiling futures-util v0.3.16
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling httparse v1.4.1
[INFO] [stderr]     Checking futures-io v0.3.16
[INFO] [stderr]     Checking slab v0.4.3
[INFO] [stderr]     Checking tinyvec v1.3.1
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking http-body v0.4.2
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]     Checking httpdate v1.0.1
[INFO] [stderr]     Checking cpufeatures v0.1.5
[INFO] [stderr]    Compiling async-trait v0.1.50
[INFO] [stderr]     Checking input_buffer v0.3.1
[INFO] [stderr]     Checking sha-1 v0.9.7
[INFO] [stderr]    Compiling crossbeam-queue v0.3.2
[INFO] [stderr]    Compiling protobuf v2.25.1
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]    Compiling prometheus v0.13.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling serenity v0.10.8
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking parking_lot_core v0.8.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking mio v0.7.13
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking socket2 v0.4.0
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking flate2 v1.0.20
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking tracing-log v0.1.2
[INFO] [stderr]     Checking thread_local v1.1.3
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking sharded-slab v0.1.1
[INFO] [stderr]     Checking typemap_rev v0.1.5
[INFO] [stderr]     Checking uwl v0.6.0
[INFO] [stderr]     Checking owned-alloc v0.2.0
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking lockfree v0.5.1
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking crossbeam v0.8.1
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking matchers v0.0.1
[INFO] [stderr]     Checking url v2.2.2
[INFO] [stderr]     Checking tungstenite v0.11.1
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]     Checking rustls v0.19.1
[INFO] [stderr]     Checking webpki-roots v0.21.1
[INFO] [stderr]     Checking webpki-roots v0.20.0
[INFO] [stderr]    Compiling tokio-macros v1.3.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.15
[INFO] [stderr]    Compiling pin-project-internal v1.0.8
[INFO] [stderr]    Compiling thiserror-impl v1.0.29
[INFO] [stderr]    Compiling command_attr v0.3.7
[INFO] [stderr]     Checking tracing v0.1.26
[INFO] [stderr]     Checking pin-project v1.0.8
[INFO] [stderr]     Checking thiserror v1.0.29
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking futures v0.3.16
[INFO] [stderr]     Checking tokio-util v0.6.7
[INFO] [stderr]     Checking tokio-rustls v0.22.0
[INFO] [stderr]     Checking statemachines v0.1.0 (/opt/rustwide/workdir/statemachines)
[INFO] [stderr]     Checking async-tungstenite v0.11.0
[INFO] [stderr]     Checking h2 v0.3.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.0
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking tracing-serde v0.1.2
[INFO] [stderr]     Checking tracing-subscriber v0.2.19
[INFO] [stderr]     Checking hyper v0.14.11
[INFO] [stderr]     Checking hyper-rustls v0.22.1
[INFO] [stderr]     Checking reqwest v0.11.4
[INFO] [stderr]     Checking werewolf-bot v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating src/main.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.06s
[INFO] [stderr] crater-edition-check: werewolf-bot v0.1.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `serenity` dependency)
[INFO] [stderr] warning: `werewolf-bot` (manifest) generated 1 warning
[INFO] [stderr]    Compiling tokio v1.12.0
[INFO] [stderr]     Checking tokio-util v0.6.7
[INFO] [stderr]     Checking tokio-rustls v0.22.0
[INFO] [stderr]     Checking statemachines v0.1.0 (/opt/rustwide/workdir/statemachines)
[INFO] [stderr]     Checking async-tungstenite v0.11.0
[INFO] [stderr]     Checking h2 v0.3.3
[INFO] [stderr]     Checking hyper v0.14.11
[INFO] [stderr]     Checking hyper-rustls v0.22.1
[INFO] [stderr]     Checking reqwest v0.11.4
[INFO] [stderr]     Checking serenity v0.10.8
[INFO] [stderr]     Checking werewolf-bot v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `AsyncTransition` and `TransitionResult`
[INFO] [stdout]  --> src/notifier.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use statemachines::{AsyncTransition, TransitionResult};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `roles_msg::get_roles_msg`
[INFO] [stdout]   --> src/roles.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use roles_msg::get_roles_msg;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::BotContext`
[INFO] [stdout]   --> src/rounds/state/channels.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::BotContext;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RoleCounts`
[INFO] [stdout]   --> src/rounds/state/start.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     RoleCounts,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncTransition` and `TransitionResult`
[INFO] [stdout]  --> src/notifier.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use statemachines::{AsyncTransition, TransitionResult};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `roles_msg::get_roles_msg`
[INFO] [stdout]   --> src/roles.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use roles_msg::get_roles_msg;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::BotContext`
[INFO] [stdout]   --> src/rounds/state/channels.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use super::BotContext;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RoleCounts`
[INFO] [stdout]   --> src/rounds/state/start.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     RoleCounts,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cfg_role_msg_reactions` is never used
[INFO] [stdout]   --> src/roles.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub async fn cfg_role_msg_reactions(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_roles_msg` is never used
[INFO] [stdout]  --> src/roles/roles_msg.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn get_roles_msg(roles: &[WereWolfRoleConfig]) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/rounds/state/channels.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |     CreatingChannel(serenity::Error),
[INFO] [stdout]    |     --------------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GetChannelError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 19 -     CreatingChannel(serenity::Error),
[INFO] [stdout] 19 +     CreatingChannel(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rounds/state/channels.rs:133:16
[INFO] [stdout]     |
[INFO] [stdout] 133 |     GetChannel(GetChannelError),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SetupChannelError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 133 -     GetChannel(GetChannelError),
[INFO] [stdout] 133 +     GetChannel(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/rounds/state/start.rs:37:23
[INFO] [stdout]    |
[INFO] [stdout] 37 |     SettingUpChannels(SetupChannelError),
[INFO] [stdout]    |     ----------------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StartError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     SettingUpChannels(SetupChannelError),
[INFO] [stdout] 37 +     SettingUpChannels(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RegisterUsers` is never constructed
[INFO] [stdout]  --> src/rounds/state/states.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct RegisterUsers {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RegisterRoles` is never constructed
[INFO] [stdout]   --> src/rounds/state/states.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct RegisterRoles {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RoleCounts` is never constructed
[INFO] [stdout]   --> src/rounds/state/states.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct RoleCounts {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ongoing` is never constructed
[INFO] [stdout]   --> src/rounds/state/states.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Ongoing {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Done` is never constructed
[INFO] [stdout]   --> src/rounds/state/states.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Done {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BotContext` is never used
[INFO] [stdout]   --> src/rounds/state/traits.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait BotContext: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransitionContext` is never constructed
[INFO] [stdout]   --> src/rounds/state/traits.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TransitionContext<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Transition` is never used
[INFO] [stdout]   --> src/rounds/state/traits.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub trait Transition<S> {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransitionError` is never constructed
[INFO] [stdout]   --> src/rounds/state/traits.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct TransitionError(pub Box<dyn Error + Send + Sync>);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rounds/state/traits.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl TransitionError {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 41 |     /// Create a new TransitionError from the given Error
[INFO] [stdout] 42 |     pub fn new<E>(err: E) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TryTransition` is never used
[INFO] [stdout]   --> src/rounds/state/traits.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub trait TryTransition<S>
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/util/mods.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     FindModRole(roles::FindRoleError),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LoadModsError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 13 -     FindModRole(roles::FindRoleError),
[INFO] [stdout] 13 +     FindModRole(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `moderator_channel` is never read
[INFO] [stdout]   --> src/commands/werewolf/sm.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct Running {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 59 |     players: BTreeMap<UserId, WereWolfRoleInstance>,
[INFO] [stdout] 60 |     moderator_channel: ChannelId,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Running` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `channel_id` is never read
[INFO] [stdout]    --> src/commands/werewolf/sm.rs:588:5
[INFO] [stdout]     |
[INFO] [stdout] 587 | struct RoleCountState {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 588 |     channel_id: ChannelId,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RoleCountState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cfg_role_msg_reactions` is never used
[INFO] [stdout]   --> src/roles.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub async fn cfg_role_msg_reactions(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_roles_msg` is never used
[INFO] [stdout]  --> src/roles/roles_msg.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn get_roles_msg(roles: &[WereWolfRoleConfig]) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/rounds/state/channels.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |     CreatingChannel(serenity::Error),
[INFO] [stdout]    |     --------------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GetChannelError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 19 -     CreatingChannel(serenity::Error),
[INFO] [stdout] 19 +     CreatingChannel(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rounds/state/channels.rs:133:16
[INFO] [stdout]     |
[INFO] [stdout] 133 |     GetChannel(GetChannelError),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SetupChannelError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 133 -     GetChannel(GetChannelError),
[INFO] [stdout] 133 +     GetChannel(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/rounds/state/start.rs:37:23
[INFO] [stdout]    |
[INFO] [stdout] 37 |     SettingUpChannels(SetupChannelError),
[INFO] [stdout]    |     ----------------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StartError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     SettingUpChannels(SetupChannelError),
[INFO] [stdout] 37 +     SettingUpChannels(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RegisterUsers` is never constructed
[INFO] [stdout]  --> src/rounds/state/states.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct RegisterUsers {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RegisterRoles` is never constructed
[INFO] [stdout]   --> src/rounds/state/states.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct RegisterRoles {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RoleCounts` is never constructed
[INFO] [stdout]   --> src/rounds/state/states.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct RoleCounts {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ongoing` is never constructed
[INFO] [stdout]   --> src/rounds/state/states.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Ongoing {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Done` is never constructed
[INFO] [stdout]   --> src/rounds/state/states.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Done {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BotContext` is never used
[INFO] [stdout]   --> src/rounds/state/traits.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait BotContext: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransitionContext` is never constructed
[INFO] [stdout]   --> src/rounds/state/traits.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TransitionContext<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Transition` is never used
[INFO] [stdout]   --> src/rounds/state/traits.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub trait Transition<S> {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransitionError` is never constructed
[INFO] [stdout]   --> src/rounds/state/traits.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct TransitionError(pub Box<dyn Error + Send + Sync>);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/rounds/state/traits.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl TransitionError {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 41 |     /// Create a new TransitionError from the given Error
[INFO] [stdout] 42 |     pub fn new<E>(err: E) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TryTransition` is never used
[INFO] [stdout]   --> src/rounds/state/traits.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub trait TryTransition<S>
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/util/mods.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     FindModRole(roles::FindRoleError),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LoadModsError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 13 -     FindModRole(roles::FindRoleError),
[INFO] [stdout] 13 +     FindModRole(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `moderator_channel` is never read
[INFO] [stdout]   --> src/commands/werewolf/sm.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct Running {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 59 |     players: BTreeMap<UserId, WereWolfRoleInstance>,
[INFO] [stdout] 60 |     moderator_channel: ChannelId,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Running` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `channel_id` is never read
[INFO] [stdout]    --> src/commands/werewolf/sm.rs:588:5
[INFO] [stdout]     |
[INFO] [stdout] 587 | struct RoleCountState {
[INFO] [stdout]     |        -------------- field in this struct
[INFO] [stdout] 588 |     channel_id: ChannelId,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RoleCountState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 25s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   tokio v1.12.0 removed features: winapi
[INFO] [stderr] 
[INFO] [stderr] warning: Cargo.toml: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `serenity` dependency)
[INFO] [stderr] warning: `werewolf-bot` (manifest) generated 1 warning
[INFO] [stderr]     Checking werewolf-bot v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/roles.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/roles.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |         if let Err(e) = message.react(ctx.get_http(), reaction).await {
[INFO] [stdout]    |                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                    |    |                                       |
[INFO] [stdout]    |                    |    |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                    |    |                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    |    |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    |    |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                    |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    |    `__awaitee` calls a custom destructor
[INFO] [stdout]    |                    |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    `e` calls a custom destructor
[INFO] [stdout]    |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 28 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/rounds/state/stop.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |           for (user, _) in participants() {
[INFO] [stdout]    |                            --------------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `iter` calls a custom destructor
[INFO] [stdout]    |                            `iter` will be dropped later as of Edition 2024
[INFO] [stdout] 49 |               if let Err(e) = channel
[INFO] [stdout]    |  ________________________-____^
[INFO] [stdout]    | |                        |
[INFO] [stdout]    | |                        `e` calls a custom destructor
[INFO] [stdout]    | |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] 50 | |                 .delete_permission(ctx, PermissionOverwriteType::Member(*user))
[INFO] [stdout] 51 | |                 .await
[INFO] [stdout]    | |                  ----^
[INFO] [stdout]    | |                  |   |
[INFO] [stdout]    | |                  |   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]    | |                  |   up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]    |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]    |                    up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 55 |           }
[INFO] [stdout]    |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 56 |
[INFO] [stdout] 57 |           if let Err(e) = channel
[INFO] [stdout]    |  ____________________-____-
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    | |                    |
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 58 | |             .delete_permission(ctx, PermissionOverwriteType::Role(everyone_role_id))
[INFO] [stdout] 59 | |             .await
[INFO] [stdout]    | |              -----
[INFO] [stdout]    | |______________|___|
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |______________|___`#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 68 |           if let Err(e) = channel
[INFO] [stdout]    |  ____________________-____-
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    | |                    |
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |                    `#8` will be dropped later as of Edition 2024
[INFO] [stdout] 69 | |             .edit(ctx, |c| c.category(inactive_category_id))
[INFO] [stdout] 70 | |             .await
[INFO] [stdout]    | |              -----
[INFO] [stdout]    | |______________|___|
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    |                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    |                `#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/rounds/state/stop.rs:68:25
[INFO] [stdout]    |
[INFO] [stdout] 48 |           for (user, _) in participants() {
[INFO] [stdout]    |                            --------------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `iter` calls a custom destructor
[INFO] [stdout]    |                            `iter` will be dropped later as of Edition 2024
[INFO] [stdout] 49 |               if let Err(e) = channel
[INFO] [stdout]    |  ________________________-____-
[INFO] [stdout]    | |                        |
[INFO] [stdout]    | |                        `e` calls a custom destructor
[INFO] [stdout]    | |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] 50 | |                 .delete_permission(ctx, PermissionOverwriteType::Member(*user))
[INFO] [stdout] 51 | |                 .await
[INFO] [stdout]    | |                  -----
[INFO] [stdout]    | |                  |   |
[INFO] [stdout]    | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]    |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 57 |           if let Err(e) = channel
[INFO] [stdout]    |  ____________________-____-
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    | |                    |
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 58 | |             .delete_permission(ctx, PermissionOverwriteType::Role(everyone_role_id))
[INFO] [stdout] 59 | |             .await
[INFO] [stdout]    | |              -----
[INFO] [stdout]    | |______________|___|
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |______________|___`#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 68 |           if let Err(e) = channel
[INFO] [stdout]    |  ____________________-____^
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    | |                    |
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |                    `#8` will be dropped later as of Edition 2024
[INFO] [stdout] 69 | |             .edit(ctx, |c| c.category(inactive_category_id))
[INFO] [stdout] 70 | |             .await
[INFO] [stdout]    | |              ----^
[INFO] [stdout]    | |______________|___|
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]    | |______________|___up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    |                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]    |                up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    |                `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 74 | |     }
[INFO] [stdout]    | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/util/roles.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 |     while let Some(member_res) = member_iter.next().await {
[INFO] [stdout]    |                    ----------    ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                    |             |                  |
[INFO] [stdout]    |                    |             |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    |             |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                    |             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    `member_res` calls a custom destructor
[INFO] [stdout]    |                    `member_res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 41 |             Err(e) => {
[INFO] [stdout]    |                 -
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `e` calls a custom destructor
[INFO] [stdout]    |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 53 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `member_res` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lib.rs:292:21
[INFO] [stdout]      |
[INFO] [stdout]  276 |     let mut client = Client::builder(token)
[INFO] [stdout]      |         ----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `client` calls a custom destructor
[INFO] [stdout]      |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  292 |     if let Err(e) = client.start().await {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                     |              |
[INFO] [stdout]      |                     |              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.0.1/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]      |
[INFO] [stdout]  182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/mpsc/mod.rs:928:1
[INFO] [stdout]      |
[INFO] [stdout]  928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/mpsc/mod.rs:1212:1
[INFO] [stdout]      |
[INFO] [stdout] 1212 | impl<T> Drop for UnboundedReceiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serenity-0.10.8/src/client/bridge/gateway/shard_manager.rs:332:1
[INFO] [stdout]      |
[INFO] [stdout]  332 | impl Drop for ShardManager {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lib.rs:292:36
[INFO] [stdout]      |
[INFO] [stdout]  276 |     let mut client = Client::builder(token)
[INFO] [stdout]      |         ----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `client` calls a custom destructor
[INFO] [stdout]      |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  292 |     if let Err(e) = client.start().await {
[INFO] [stdout]      |                                    ^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.0.1/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]      |
[INFO] [stdout]  182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/mpsc/mod.rs:928:1
[INFO] [stdout]      |
[INFO] [stdout]  928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/mpsc/mod.rs:1212:1
[INFO] [stdout]      |
[INFO] [stdout] 1212 | impl<T> Drop for UnboundedReceiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serenity-0.10.8/src/client/bridge/gateway/shard_manager.rs:332:1
[INFO] [stdout]      |
[INFO] [stdout]  332 | impl Drop for ShardManager {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/roles.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |         if let Err(e) = message.react(ctx.get_http(), reaction).await {
[INFO] [stdout]    |                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                    |    |                                       |
[INFO] [stdout]    |                    |    |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                    |    |                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    |    |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    |    |                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                    |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    |    `__awaitee` calls a custom destructor
[INFO] [stdout]    |                    |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    `e` calls a custom destructor
[INFO] [stdout]    |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 28 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/rounds/state/stop.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |           for (user, _) in participants() {
[INFO] [stdout]    |                            --------------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `iter` calls a custom destructor
[INFO] [stdout]    |                            `iter` will be dropped later as of Edition 2024
[INFO] [stdout] 49 |               if let Err(e) = channel
[INFO] [stdout]    |  ________________________-____^
[INFO] [stdout]    | |                        |
[INFO] [stdout]    | |                        `e` calls a custom destructor
[INFO] [stdout]    | |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] 50 | |                 .delete_permission(ctx, PermissionOverwriteType::Member(*user))
[INFO] [stdout] 51 | |                 .await
[INFO] [stdout]    | |                  ----^
[INFO] [stdout]    | |                  |   |
[INFO] [stdout]    | |                  |   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]    | |                  |   up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]    |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]    |                    up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 55 |           }
[INFO] [stdout]    |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 56 |
[INFO] [stdout] 57 |           if let Err(e) = channel
[INFO] [stdout]    |  ____________________-____-
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    | |                    |
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 58 | |             .delete_permission(ctx, PermissionOverwriteType::Role(everyone_role_id))
[INFO] [stdout] 59 | |             .await
[INFO] [stdout]    | |              -----
[INFO] [stdout]    | |______________|___|
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |______________|___`#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 68 |           if let Err(e) = channel
[INFO] [stdout]    |  ____________________-____-
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    | |                    |
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |                    `#8` will be dropped later as of Edition 2024
[INFO] [stdout] 69 | |             .edit(ctx, |c| c.category(inactive_category_id))
[INFO] [stdout] 70 | |             .await
[INFO] [stdout]    | |              -----
[INFO] [stdout]    | |______________|___|
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    |                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    |                `#7` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/rounds/state/stop.rs:68:25
[INFO] [stdout]    |
[INFO] [stdout] 48 |           for (user, _) in participants() {
[INFO] [stdout]    |                            --------------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `iter` calls a custom destructor
[INFO] [stdout]    |                            `iter` will be dropped later as of Edition 2024
[INFO] [stdout] 49 |               if let Err(e) = channel
[INFO] [stdout]    |  ________________________-____-
[INFO] [stdout]    | |                        |
[INFO] [stdout]    | |                        `e` calls a custom destructor
[INFO] [stdout]    | |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] 50 | |                 .delete_permission(ctx, PermissionOverwriteType::Member(*user))
[INFO] [stdout] 51 | |                 .await
[INFO] [stdout]    | |                  -----
[INFO] [stdout]    | |                  |   |
[INFO] [stdout]    | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]    |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 57 |           if let Err(e) = channel
[INFO] [stdout]    |  ____________________-____-
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    | |                    |
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 58 | |             .delete_permission(ctx, PermissionOverwriteType::Role(everyone_role_id))
[INFO] [stdout] 59 | |             .await
[INFO] [stdout]    | |              -----
[INFO] [stdout]    | |______________|___|
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |______________|___`#2` will be dropped later as of Edition 2024
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                |   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]    |                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 68 |           if let Err(e) = channel
[INFO] [stdout]    |  ____________________-____^
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    |  ____________________|____|
[INFO] [stdout]    | |                    |
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]    | |                    `#8` will be dropped later as of Edition 2024
[INFO] [stdout] 69 | |             .edit(ctx, |c| c.category(inactive_category_id))
[INFO] [stdout] 70 | |             .await
[INFO] [stdout]    | |              ----^
[INFO] [stdout]    | |______________|___|
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]    | |______________|___up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |______________|___this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                |   `#6` will be dropped later as of Edition 2024
[INFO] [stdout]    |                this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]    |                up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]    |                `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 74 | |     }
[INFO] [stdout]    | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/util/roles.rs:38:34
[INFO] [stdout]    |
[INFO] [stdout] 38 |     while let Some(member_res) = member_iter.next().await {
[INFO] [stdout]    |                    ----------    ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]    |                    |             |                  |
[INFO] [stdout]    |                    |             |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    |             |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                    |             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    `member_res` calls a custom destructor
[INFO] [stdout]    |                    `member_res` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 41 |             Err(e) => {
[INFO] [stdout]    |                 -
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `e` calls a custom destructor
[INFO] [stdout]    |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 53 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `member_res` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lib.rs:292:21
[INFO] [stdout]      |
[INFO] [stdout]  276 |     let mut client = Client::builder(token)
[INFO] [stdout]      |         ----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `client` calls a custom destructor
[INFO] [stdout]      |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  292 |     if let Err(e) = client.start().await {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                     |              |
[INFO] [stdout]      |                     |              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.0.1/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]      |
[INFO] [stdout]  182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/mpsc/mod.rs:928:1
[INFO] [stdout]      |
[INFO] [stdout]  928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/mpsc/mod.rs:1212:1
[INFO] [stdout]      |
[INFO] [stdout] 1212 | impl<T> Drop for UnboundedReceiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serenity-0.10.8/src/client/bridge/gateway/shard_manager.rs:332:1
[INFO] [stdout]      |
[INFO] [stdout]  332 | impl Drop for ShardManager {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lib.rs:292:36
[INFO] [stdout]      |
[INFO] [stdout]  276 |     let mut client = Client::builder(token)
[INFO] [stdout]      |         ----------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `client` calls a custom destructor
[INFO] [stdout]      |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  292 |     if let Err(e) = client.start().await {
[INFO] [stdout]      |                                    ^^^^^
[INFO] [stdout]      |                                    |
[INFO] [stdout]      |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  295 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.0.1/src/bytes.rs:512:1
[INFO] [stdout]      |
[INFO] [stdout]  512 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.12.0/src/sync/mpsc/chan.rs:182:1
[INFO] [stdout]      |
[INFO] [stdout]  182 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/mpsc/mod.rs:928:1
[INFO] [stdout]      |
[INFO] [stdout]  928 | impl<T> Drop for UnboundedSenderInner<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.16/src/mpsc/mod.rs:1212:1
[INFO] [stdout]      |
[INFO] [stdout] 1212 | impl<T> Drop for UnboundedReceiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serenity-0.10.8/src/client/bridge/gateway/shard_manager.rs:332:1
[INFO] [stdout]      |
[INFO] [stdout]  332 | impl Drop for ShardManager {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 34s
[INFO] [stderr] crater-edition-check: werewolf-bot v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr] error: failed to parse manifest at `/opt/rustwide/workdir/Cargo.toml`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   `default_features` is unsupported as of the 2024 edition; instead use `default-features`
[INFO] [stderr]   (in the `serenity` dependency)
[INFO] running `Command { std: "docker" "inspect" "8e93e72223c99899e361f6a91396e4ac8385b2e0da62f13480223f7fece77053", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e93e72223c99899e361f6a91396e4ac8385b2e0da62f13480223f7fece77053", kill_on_drop: false }`
[INFO] [stdout] 8e93e72223c99899e361f6a91396e4ac8385b2e0da62f13480223f7fece77053
